package com.asiainfo.work.dao.second;

import com.asiainfo.work.entity.ZtTask;
import com.asiainfo.work.vo.TaskActualTimeStatistics;
import com.asiainfo.work.vo.TaskClosedActualTimeStatistics;
import com.asiainfo.work.vo.TaskClosedStatistics;
import com.asiainfo.work.vo.TaskEsTimeStatistics;
import com.asiainfo.work.vo.TaskStatistics;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * @author: bf
 * @date: 2021/1/6-9:43
 */
@Mapper
public interface ZtTaskDao extends BaseMapper<ZtTask> {

    /**
     * 查询禅道用户任务数
     */
    List<TaskStatistics> queryTask(@Param("startTime") String startTime, @Param("endTime") String endTime,
            @Param("accountList") List<String> accountList, IPage<TaskStatistics> plusPage);

    /**
     * 查询禅道用户任务工时
     */
    List<TaskEsTimeStatistics> queryTaskEsTime(@Param("startTime")String startTime,@Param("endTime") String endTime,
            @Param("accountList") List<String> accountList, IPage<TaskEsTimeStatistics> plusPage);

    /**
     * 查询禅道用户任务完成数
     */
    List<TaskClosedStatistics> queryTaskClosed(@Param("startTime")String startTime, @Param("endTime")String endTime,
            @Param("accountList") List<String> accountList, IPage<TaskClosedStatistics> plusPage);

    /**
     * 查询禅道用户完成任务实际工时
     */
    List<TaskClosedActualTimeStatistics> queryTaskClosedActualTime(@Param("startTime")String startTime, @Param("endTime")String endTime,
            @Param("accountList") List<String> accountList, IPage<TaskClosedActualTimeStatistics> plusPage);

    /**
     * 查询禅道用户开发任务实际工时
     */
    List<TaskActualTimeStatistics> queryTaskActualTime(@Param("startTime")String startTime, @Param("endTime")String endTime,
            @Param("accountList") List<String> accountList, IPage<TaskActualTimeStatistics> plusPage);
}
